package Compation;

/**
 * 1328. 破坏回文串
 * 给你一个回文字符串 palindrome ，请你将其中 一个 字符用任意小写英文字母替换，使得结果字符串的字典序最小，且 不是 回文串。
 *
 * 请你返回结果字符串。如果无法做到，则返回一个空串。
 *
 *
 *
 * 示例 1：
 *
 * 输入：palindrome = "abccba"
 * 输出："aaccba"
 * 示例 2：
 *
 * 输入：palindrome = "a"
 * 输出：""
 *
 *
 * 提示：
 *
 * 1 <= palindrome.length <= 1000
 * palindrome 只包含小写英文字母。
 */
public class breakPalindrome {
    /**
     * 基本思路，首先遍历回文串，把第一个不是a的字符变为a，若第一个不是a的字符处于中间位置，返回空串
     * @param palindrome 回文串
     * @return 破坏结果
     */
    public String breakPalindrome(String palindrome) {
        if (palindrome == null || palindrome.length() <= 1) {
            return "";
        }
        char[] result = palindrome.toCharArray();
        for (int i = 0; i < result.length; i++) {
            if (result[i] != 'a') {
                if (result.length % 2 == 1 && result.length / 2 == i) {
                    continue;
                } else {
                    result[i] = 'a';
                    return String.valueOf(result);
                }
            }
        }
        result[result.length - 1] = 'b';
        return String.valueOf(result);
    }
}
